home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00014_Script_PDF_ZoomTo < prev    next >
Text File  |  2006-07-11  |  4KB  |  115 lines

  1. -- Zoom To
  2.  
  3. Property pEvent, pSprite, pZoom, pScale, pAlertFlag
  4.  
  5. on doZoomTo me
  6.   case pZoom of:
  7.     "Fit Width": set m = #fitWidth
  8.     "Actual Size": set m = #actualSize
  9.     "Fit Page": set m = #fitPage
  10.     "Fit Visible": set m = #fitVisible
  11.     otherwise: 
  12.       if (pScale<8) or (pScale>1600) then
  13.         alert "Invalid zoom value"
  14.         exit
  15.       else
  16.         set m = #useScale
  17.       end if
  18.   end case
  19.   set err = PDF_ZoomTo(sprite pSprite, m, pScale)
  20.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  21. end doZoomTo
  22.  
  23. on mouseUp me
  24.   if (pEvent = #mouseUp) then doZoomTo(me)
  25. end mouseUp
  26.  
  27. on mouseDown me
  28.   if (pEvent = #mouseDown) then doZoomTo(me)
  29. end mouseDown
  30.  
  31. on prepareFrame me
  32.   if (pEvent = #prepareFrame) then doZoomTo(me)
  33. end prepareFrame
  34.  
  35. -- standard behavior stuff --
  36. on getPropertyDescriptionList me
  37.   set defaultValues = GetDefaultValues (me)
  38.   
  39.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  40.   set defSprite     = getProp (defaultValues, #defaultSprite)
  41.   if (defSprite=0) then 
  42.     if the ticks - pAlertFlag > 10 then
  43.       alert "Please create a sprite of type PDF first."
  44.     end if
  45.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  46.     
  47.     exit
  48.   end if
  49.   set p_list = [:]
  50.   addprop p_list, #pEvent, [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown, #prepareFrame], #default:#mouseUp]
  51.   addprop p_list, #pSprite, [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite]
  52.   addprop p_list, #pZoom, [ #comment: "Zoom to:", #format:#symbol, #range:["Fit Width", "Actual Size", "Fit Page","Fit Visible", "Other (specify below)"], #default:"Fit Width"]
  53.   addprop p_list, #pScale, [ #comment: "Other (8..1600):", #format:#integer, #default:""] 
  54.   
  55.   return p_list
  56. end
  57.  
  58. on getBehaviorDescription
  59.   tmp = "Zoom to specified view (Fit Width, Actual Size, Fit Page) or to specified percentage (8% to 1600%)" 
  60.   tmp = tmp & RETURN& "Available for Windows only, Acrobat or Reader." 
  61.   tmp = tmp &RETURN&RETURN& "--- PARAMETERS ---"
  62.   tmp = tmp &RETURN& " - Event: mouseUp, mouseDown, or prepareFrame"
  63.   tmp = tmp &RETURN& " - Sprite is in channel: which channel contains the PDF Sprite"
  64.   tmp = tmp & RETURN& " - Zoom to: Fit Width, Actual Size, Fit Page, Fit Visible, Other."
  65.   tmp = tmp & RETURN& " - Other zoom (8..1600): A number representing the percentage to scale the document." 
  66.   tmp = tmp &RETURN&RETURN& "Free to use and abuse. (c)1999 - 2005, Integration New Media, Inc."  &RETURN& "Thanks to James Newton for his suggestions"
  67.   return tmp  
  68. end
  69. on getBehaviorTooltip
  70.   tmp = "Zoom to specified view (Fit Width, Actual Size, Fit Page)" &RETURN&  "or to specified percentage (8% to 1600%)" 
  71.   tmp = tmp & RETURN& "Available for Windows only, Acrobat or Reader." 
  72.   return tmp  
  73. end
  74.  
  75. -- utils --
  76. on GetDefaultValues me
  77.   if the currentSpriteNum then
  78.     set spriteList = GetSpriteList (me #PDF)
  79.     if count (spriteList) then
  80.       set defaultSprite = getAt (spriteList, 1)
  81.     else
  82.       set defaultSprite = 0
  83.     end if
  84.     
  85.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  86.     
  87.   else -- the currentSpriteNum = 0
  88.     -- Director is merely recompiling this script: return dummy values
  89.     return [#spriteList: [1], #defaultSprite: 1]
  90.   end if
  91. end 
  92.  
  93.  
  94. on GetSpriteList me, memberType
  95.   -- return list of sprites of type memberType in current frame
  96.   global version
  97.   if (char 1 of version = 6) then
  98.     set maxSprite = 120
  99.   else
  100.     set maxSprite = the lastChannel
  101.   end if
  102.   
  103.   set aList=[]
  104.   
  105.   repeat with i = 1 to maxSprite
  106.     set spriteMember = the member of sprite i
  107.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  108.     if (the type of spriteMember = memberType) then -- (JN) Line break
  109.       append (aList, i)
  110.     end if
  111.   end repeat
  112.   
  113.   return aList
  114. end GetSpriteList
  115.